#include "common.h"
#include "InvertTable.h"
#include "SimpleElementS.h"

SimpleElementS::DataType* g_InvertTable[14] ={
	0,
	Invert2Table,
	0,
	0,
	0,
	0,
	Invert7Table,
	Invert8Table
};


Word32 Invert2Table[4] = {
	0, 1, 3, 2
};

Word32 Invert7Table[] = {
	0  , 1,  65, 126,  97,  42,  63,  54,
	113,  18,  21,  74,  94,  79,  27, 103,
	121,  92,   9, 112,  75,  10,  37,  68,
	47,  35, 102,  14,  76,  71, 114, 110,
	125,  91,  46,  25,  69,  22,  56,  61,
	100, 119,   5,  96,  83, 123,  34,  24,
	86, 116,  80,  52,  51,  81,   7,  62,
	38,  60,  98,  73,  57,  39,  55,   6,
	127,   2, 108,  84,  23,  36,  77,  29,
	99,  59,  11,  20,  28,  70,  95,  13,
	50,  53, 122,  44,  67, 109,  48, 117,
	104, 107, 124,  33,  17, 120,  12,  78,
	43,   4,  58,  72,  40, 118,  26,  15,
	88, 106, 105,  89,  66,  85,  31, 115,
	19,   8,  30, 111,  49,  87, 101,  41,
	93,  16,  82,  45,  90,  32,   3,  64,
};

Word32 Invert8Table[ 256 ] = {
	0x00,0x01,0x8d,0xf6,0xcb,0x52,0x7b,0xd1,0xe8,0x4f,0x29,0xc0,0xb0,0xe1,0xe5,0xc7,
	0x74,0xb4,0xaa,0x4b,0x99,0x2b,0x60,0x5f,0x58,0x3f,0xfd,0xcc,0xff,0x40,0xee,0xb2,
	0x3a,0x6e,0x5a,0xf1,0x55,0x4d,0xa8,0xc9,0xc1,0x0a,0x98,0x15,0x30,0x44,0xa2,0xc2,
	0x2c,0x45,0x92,0x6c,0xf3,0x39,0x66,0x42,0xf2,0x35,0x20,0x6f,0x77,0xbb,0x59,0x19,
	0x1d,0xfe,0x37,0x67,0x2d,0x31,0xf5,0x69,0xa7,0x64,0xab,0x13,0x54,0x25,0xe9,0x09,
	0xed,0x5c,0x05,0xca,0x4c,0x24,0x87,0xbf,0x18,0x3e,0x22,0xf0,0x51,0xec,0x61,0x17,
	0x16,0x5e,0xaf,0xd3,0x49,0xa6,0x36,0x43,0xf4,0x47,0x91,0xdf,0x33,0x93,0x21,0x3b,
	0x79,0xb7,0x97,0x85,0x10,0xb5,0xba,0x3c,0xb6,0x70,0xd0,0x06,0xa1,0xfa,0x81,0x82,
	0x83,0x7e,0x7f,0x80,0x96,0x73,0xbe,0x56,0x9b,0x9e,0x95,0xd9,0xf7,0x02,0xb9,0xa4,
	0xde,0x6a,0x32,0x6d,0xd8,0x8a,0x84,0x72,0x2a,0x14,0x9f,0x88,0xf9,0xdc,0x89,0x9a,
	0xfb,0x7c,0x2e,0xc3,0x8f,0xb8,0x65,0x48,0x26,0xc8,0x12,0x4a,0xce,0xe7,0xd2,0x62,
	0x0c,0xe0,0x1f,0xef,0x11,0x75,0x78,0x71,0xa5,0x8e,0x76,0x3d,0xbd,0xbc,0x86,0x57,
	0x0b,0x28,0x2f,0xa3,0xda,0xd4,0xe4,0x0f,0xa9,0x27,0x53,0x04,0x1b,0xfc,0xac,0xe6,
	0x7a,0x07,0xae,0x63,0xc5,0xdb,0xe2,0xea,0x94,0x8b,0xc4,0xd5,0x9d,0xf8,0x90,0x6b,
	0xb1,0x0d,0xd6,0xeb,0xc6,0x0e,0xcf,0xad,0x08,0x4e,0xd7,0xe3,0x5d,0x50,0x1e,0xb3,
	0x5b,0x23,0x38,0x34,0x68,0x46,0x03,0x8c,0xdd,0x9c,0x7d,0xa0,0xcd,0x1a,0x41,0x1c,
};
